package com.ddh.codeduck.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codeduck.pojo.dto.CodeDuckTagDTO;
import com.codeduck.pojo.entity.CodeDuckTag;
import com.codeduck.pojo.req.CodeDuckTagPageReq;
import com.codeduck.pojo.vo.CodeDuckTagVO;

import java.util.List;

/**
 * <p>
 * 标签表 服务类
 * </p>
 *
 * @author ddh
 * @since 2025-07-03
 */
public interface ICodeDuckTagService extends IService<CodeDuckTag> {

    /**
     * 根据标签查询题目分类
     * @return
     */
    CodeDuckTagVO listQuestionCategory(CodeDuckTagDTO codeDuckTagDTO);

    /**
     * 查询所有标签及其下面题目分类
     * @return
     */
    List<CodeDuckTagVO> listAndQuestionCategory();

    /**
     * 查询所有标签
     * @return
     */
    IPage<CodeDuckTagVO> listTagList(CodeDuckTagPageReq codeDuckTagPageReq);

    /**
     * 新增或者修改标签
     * @param codeDuckTagDTO
     * @return
     */
    Boolean saveOrUpdateTag(CodeDuckTagDTO codeDuckTagDTO);

    /**
     * 批量删除标签
     * @param tagIdList
     * @return
     */
    Boolean removeBatchByIdsService(List<String> tagIdList);
}
